home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 44 / PC Actual CD 44.iso / Demos / Flash / flash4full.exe / data1.cab / App_Files / Help / search.jar / SearchFrame.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-08-20  |  4.2 KB  |  128 lines

  1. import java.awt.BorderLayout;
  2. import java.awt.Button;
  3. import java.awt.Checkbox;
  4. import java.awt.Color;
  5. import java.awt.Component;
  6. import java.awt.Container;
  7. import java.awt.Event;
  8. import java.awt.FlowLayout;
  9. import java.awt.Frame;
  10. import java.awt.GridLayout;
  11. import java.awt.Label;
  12. import java.awt.List;
  13. import java.awt.Panel;
  14. import java.awt.TextField;
  15. import java.text.MessageFormat;
  16. import java.util.StringTokenizer;
  17.  
  18. class SearchFrame extends Frame {
  19.    // $FF: renamed from: sa SearchApplet4ech
  20.    SearchApplet4ech field_0;
  21.    Button list_topics;
  22.    Button cancel;
  23.    Button display;
  24.    Checkbox case_sensitive;
  25.    List doc_list = new List(15, false);
  26.    TextField input_tf = new TextField(40);
  27.    Label status = new Label();
  28.  
  29.    SearchFrame(SearchApplet4ech var1) {
  30.       this.field_0 = var1;
  31.       ((Frame)this).setTitle(this.field_0.getMessage("searchappletframe.search.frame_title"));
  32.       ((Component)this).setBackground(Color.lightGray);
  33.       ((Container)this).setLayout(new BorderLayout(0, 0));
  34.       this.list_topics = new Button(this.field_0.getMessage("searchappletframe.list_topics.button"));
  35.       this.cancel = new Button(this.field_0.getMessage("searchappletframe.cancel.button"));
  36.       this.display = new Button(this.field_0.getMessage("searchappletframe.display.button"));
  37.       this.case_sensitive = new Checkbox(this.field_0.getMessage("searchappletframe.case_sensitive.checkbox"));
  38.       this.case_sensitive.setState(true);
  39.       Panel var2 = new Panel();
  40.       ((Container)var2).setLayout(new GridLayout(4, 1));
  41.       ((Container)var2).add(new Label(this.field_0.getMessage("searchappletframe.type_in_the_keyword_to_find.label")));
  42.       ((Container)var2).add(this.input_tf);
  43.       Panel var3 = new Panel();
  44.       ((Container)var3).setLayout(new GridLayout(1, 2));
  45.       Panel var4 = new Panel();
  46.       ((Container)var4).setLayout(new FlowLayout(0));
  47.       ((Container)var4).add(this.case_sensitive);
  48.       Panel var5 = new Panel();
  49.       ((Container)var5).setLayout(new FlowLayout(2));
  50.       ((Container)var5).add(this.list_topics);
  51.       ((Container)var3).add(var4);
  52.       ((Container)var3).add(var5);
  53.       ((Container)var2).add(var3);
  54.       ((Container)var2).add(new Label(this.field_0.getMessage("searchappletframe.select_topic_to_display.label")));
  55.       ((Container)this).add("North", var2);
  56.       this.doc_list.setBackground(Color.white);
  57.       ((Container)this).add("Center", this.doc_list);
  58.       Panel var6 = new Panel();
  59.       ((Container)var6).setLayout(new GridLayout(2, 1));
  60.       ((Container)var6).add(this.status);
  61.       Panel var7 = new Panel();
  62.       ((Container)var7).setLayout(new FlowLayout(2));
  63.       ((Container)var7).add(this.cancel);
  64.       ((Container)var7).add(this.display);
  65.       ((Container)var6).add(var7);
  66.       ((Container)this).add("South", var6);
  67.    }
  68.  
  69.    public void clearList() {
  70.       this.doc_list.clear();
  71.    }
  72.  
  73.    public void updateList(String var1) {
  74.       this.doc_list.addItem(var1);
  75.    }
  76.  
  77.    public void setStatus(String var1) {
  78.       this.status.setText(var1);
  79.    }
  80.  
  81.    private void initiateSearch() {
  82.       String var2 = this.input_tf.getText();
  83.       StringTokenizer var3 = new StringTokenizer(var2);
  84.  
  85.       String var4;
  86.       for(var4 = ""; var3.hasMoreTokens(); var4 = var4 + " " + var3.nextToken()) {
  87.       }
  88.  
  89.       var4 = var4.trim();
  90.       String[] var5 = new String[]{var4};
  91.       this.field_0.showStatus(MessageFormat.format(this.field_0.getMessage("searchappletframe.searching_for"), var5));
  92.       StringTokenizer var6 = new StringTokenizer(var4, "+");
  93.       int var7 = var6.countTokens();
  94.       String[] var1 = new String[var7];
  95.  
  96.       for(int var8 = 0; var8 < var7; ++var8) {
  97.          var1[var8] = var6.nextToken().trim();
  98.          if (!this.case_sensitive.getState()) {
  99.             var1[var8] = var1[var8].toLowerCase();
  100.          }
  101.       }
  102.  
  103.       this.field_0.search(var1, this.case_sensitive.getState());
  104.    }
  105.  
  106.    public boolean handleEvent(Event var1) {
  107.       if (var1.id == 201) {
  108.          ((Component)this).setVisible(false);
  109.       } else if (var1.id == 1001) {
  110.          if (var1.target == this.list_topics) {
  111.             this.initiateSearch();
  112.          } else if (var1.target == this.cancel) {
  113.             this.field_0.setStopSearch(true);
  114.          } else if (var1.target == this.display) {
  115.             if (this.doc_list.getSelectedIndex() > -1) {
  116.                this.field_0.showDoc(this.doc_list.getSelectedIndex());
  117.             }
  118.          } else if (var1.target == this.doc_list && this.doc_list.getSelectedIndex() > -1) {
  119.             this.field_0.showDoc(this.doc_list.getSelectedIndex());
  120.          }
  121.       } else if (var1.id == 402 && var1.target == this.input_tf && (var1.key == 10 || var1.key == 13)) {
  122.          this.initiateSearch();
  123.       }
  124.  
  125.       return super.handleEvent(var1);
  126.    }
  127. }
  128.